home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 15 / CU Amiga Magazine's Super CD-ROM 15 (1997)(EMAP Images)(GB)[!][issue 1997-10].iso / CUCD / Graphics / MysticView / source / WBView.h < prev   
C/C++ Source or Header  |  1996-12-28  |  2KB  |  100 lines

  1. #ifndef WBVIEW_H
  2. #define WBVIEW_H    1
  3.  
  4.  
  5. #include <exec/exec.h>
  6. #include <intuition/intuition.h>
  7. #include <workbench/startup.h>
  8. #include <workbench/workbench.h>
  9. #include <graphics/gfx.h>
  10. #include <graphics/displayinfo.h>
  11. #include <datatypes/pictureclass.h>
  12. #include <libraries/asl.h>
  13.  
  14.  
  15.  
  16. #define    DEFAULT_WINWIDTH    300
  17. #define    DEFAULT_WINHEIGHT    300
  18. #define    DEFAULT_PENSHARING    MITEM_ECONOMICAL
  19. #define    DEFAULT_REMAPPING    MITEM_HAM_MEDIUM
  20.  
  21. #define    MIN_WINWIDTH        100
  22. #define    MIN_WINHEIGHT        100
  23.  
  24. #define THRESHOLD_SPAREMODE    20
  25.  
  26.  
  27. #define    ASPM_NO_CARE            0
  28. #define    ASPM_KEEP_PIC            1
  29. #define    ASPM_KEEP_SCREEN        2
  30. #define    ASPM_KEEP_ALL            3
  31.  
  32.  
  33. #define PATHNAMESIZE    400
  34. #define FILENAMESIZE    32
  35. #define FORMATNAMESIZE    20
  36. #define WINDOWNAMESIZE    FILENAMESIZE+FORMATNAMESIZE
  37.  
  38. struct ChunkyImage
  39. {
  40.     UBYTE *chunky;
  41.     ULONG *palette;
  42.     DOUBLE aspect;
  43.     UWORD width,height;    /*,depth;*/
  44.     UWORD colormode;
  45.     UWORD bytewidth;
  46.     ULONG displayID;
  47.     UWORD aspectmode;
  48. };
  49.  
  50.  
  51. struct DisplayEntity
  52. {
  53.     struct ChunkyImage *ci;
  54.     struct PenShareMap *psm;
  55.     BOOL converted;
  56. };
  57.  
  58.  
  59.  
  60. struct WBViewSettings
  61. {
  62.     UWORD    pensharing;
  63.     UWORD    remapping;
  64. };
  65.  
  66.  
  67.  
  68. struct WBView
  69. {
  70.     struct Window *window;
  71.     struct AppWindow *appwindow;
  72.     struct Screen *pubscreen;
  73.     struct MsgPort *appmsgport;    
  74.     struct Menu *menu;
  75.     struct FileRequester *freq;
  76.     
  77.     UBYTE *logopic;                        /* logo's raw chunky data */
  78.     ULONG *logopalette;                    /* logo's raw palette */
  79.  
  80.     DOUBLE aspect;                        /* the screen's aspect ratio */
  81.  
  82.     struct ChunkyImage chunkypic;        /* chunky picture handle */
  83.  
  84.     struct ChunkyImage logo;            /* the logo's chunky picture handle */
  85.     struct DisplayEntity disp;            /* a displayable unit */
  86.  
  87.     char pathname[PATHNAMESIZE];        /* some text buffers */
  88.     char filename[FILENAMESIZE];
  89.     char formatname[FORMATNAMESIZE];
  90.     char windowtitle[WINDOWNAMESIZE];
  91.  
  92.     struct Hook ProgressHook;
  93.  
  94.     struct WBViewSettings settings;        /* the settings (see above) */
  95.  
  96. };
  97.  
  98.  
  99. #endif
  100.